com.highdeal.pnr.hci
Class AccessModel

java.lang.Object
  extended by com.highdeal.pnr.hci.AccessModel
All Implemented Interfaces:
XMLMarshallable

public class AccessModel
extends java.lang.Object
implements XMLMarshallable

This Java class represents an access in master data that grants a timed license to an end customer of a service provider to access and use its marketable services; In return for this service usage, the access identifies a charge that must be computed and debited for this service consumption. This fee is part of a business agreement (subscription, provider contract).

An access is an association between technical information related to the usage of a marketable service by an end customer and business information for charging this consumption.

Example of user service ID and service ID: A phone number in the phone service, or an e-mail address in a messaging service

Notes (*)

Version and Chronology

The access is not directly managed. It contains a chronology of accessible charge(s). An accessible charge represents a charge activation linked by the access.

If a linked activation charge is removed, the corresponding accessible charge is replaced by the previous accessible charge in the chronology. If there is no previous accessible charge, the deleted accessible charge is replaced by the following accessible charge. If the deleted accessible charge was alone, the access is removed.

Note

Since release 3.0 of SAP Convergent Charging, accesses are automatically created during the provisioning of provider contracts. You cannot customize this creation. Make sure you do not corrupt the accesses master data stored in SAP CC in case of a landscape that mixes subscriptions and provider contracts that shaed the same accesses.

See Also:
AccessSearchFilterModel, CreateAccessOp

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="access">
   <xs:complexType>
    <xs:sequence>
       <xs:element ref="accessibleChargeChronology" minOccurs="0" maxOccurs="1"/>
       <xs:element ref="accessibleCharge" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
     <xs:attribute name="service" type="xs:string" use="required"/> <!-- means Service ID -->
     <xs:attribute name="user" type="xs:string" use="required"/> <!-- means User Service ID -->
     <xs:attribute name="owner" type="xs:string" use="optional"/>
   </xs:complexType>
 </xs:element>


 <xs:element name="accessibleChargeChronology">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="chronology" minOccurs="1" maxOccurs="1"/>
     </xs:sequence>
   </xs:complexType>
 </xs:element>


Field Summary
static java.lang.String NAME
          The XML tag name of the data model: "access"
 
Constructor Summary
AccessModel()
          Constructs an empty access.
AccessModel(java.lang.String serviceId, java.lang.String userServiceId)
          Constructs an access with a service identifier and a user service identifier.
 
Method Summary
 void addCharacterData(java.lang.String cData)
          Adds character data to the content element.
 void addChild(java.lang.String tagName, XMLMarshallable child)
          Adds a child to the object, the child representing the marshallable object which must be added to the element.
 AccessibleChargeModel getAccessibleCharge()
          Gets the accessible charge for modification.
 ChronologyModel getAccessibleChargeChronology()
          Gets the accessible charge chronology of the access.
 java.lang.String getOwner()
          Gets the owner of the access.
 java.lang.String getServiceId()
          Gets the service identifier of the access.
 java.lang.String getUserServiceId()
          Gets the user service identifier of the access.
 void marshal(XMLOutputter output)
          Gives an XML representation of this object, including its children.
 void setAccessibleCharge(AccessibleChargeModel accessibleCharge)
          Sets the accessible charge for modification.
 void setAttributes(XMLAttributes atts)
          Sets the attributes of the XML representation of the element being processed.
 void setOwner(java.lang.String owner)
          Sets the owner of the access.
 void setServiceId(java.lang.String serviceId)
          Sets the service identifier of the access.
 void setUserServiceId(java.lang.String userServiceId)
          Sets the user service identifier of the access.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME

public static final java.lang.String NAME
The XML tag name of the data model: "access"

See Also:
Constant Field Values
Constructor Detail

AccessModel

public AccessModel()
Constructs an empty access.


AccessModel

public AccessModel(java.lang.String serviceId,
                   java.lang.String userServiceId)
Constructs an access with a service identifier and a user service identifier.

Parameters:
serviceId - The service identifier of the access
userServiceId - The user service identifier of the access
Method Detail

getServiceId

public java.lang.String getServiceId()
Gets the service identifier of the access.

Returns:
The service identifier of the access

setServiceId

public void setServiceId(java.lang.String serviceId)
Sets the service identifier of the access.

Parameters:
serviceId - The service identifier of the access

getUserServiceId

public java.lang.String getUserServiceId()
Gets the user service identifier of the access.

Returns:
The user service identifier of the access

setUserServiceId

public void setUserServiceId(java.lang.String userServiceId)
Sets the user service identifier of the access.

Parameters:
userServiceId - The user service identifier of the access

getOwner

public java.lang.String getOwner()
Gets the owner of the access.

Returns:
The owner of the access

setOwner

public void setOwner(java.lang.String owner)
Sets the owner of the access.

Parameters:
owner - The owner of the access

getAccessibleChargeChronology

public ChronologyModel getAccessibleChargeChronology()
Gets the accessible charge chronology of the access.

Returns:
The accessible charge chronology of the access

getAccessibleCharge

public AccessibleChargeModel getAccessibleCharge()
Gets the accessible charge for modification.

Returns:
The accessible charge for modification

setAccessibleCharge

public void setAccessibleCharge(AccessibleChargeModel accessibleCharge)
Sets the accessible charge for modification.

Parameters:
accessibleCharge - The accessible charge for modification

setAttributes

public void setAttributes(XMLAttributes atts)
Description copied from interface: XMLMarshallable
Sets the attributes of the XML representation of the element being processed.

Specified by:
setAttributes in interface XMLMarshallable
Parameters:
atts - The XML attributes of the current element

addChild

public void addChild(java.lang.String tagName,
                     XMLMarshallable child)
Description copied from interface: XMLMarshallable
Adds a child to the object, the child representing the marshallable object which must be added to the element.

Specified by:
addChild in interface XMLMarshallable
Parameters:
tagName - The name of tag for the child
child - The child to be added

addCharacterData

public void addCharacterData(java.lang.String cData)
Description copied from interface: XMLMarshallable
Adds character data to the content element.

Specified by:
addCharacterData in interface XMLMarshallable
Parameters:
cData - The character data to be added

marshal

public void marshal(XMLOutputter output)
Description copied from interface: XMLMarshallable
Gives an XML representation of this object, including its children.

Specified by:
marshal in interface XMLMarshallable
Parameters:
output - The XML output to marshal the object into

Document Published: October 2015 (SAP CC 4.0 SP10 and Later)